'''
#之后预防：如果错误发生的条件是不可预知的，则需要用到
try...except:在错误发生之后进行处理。
try...except...else:当错误发生之后进行处理，否则执行else中的代码。
try...except...else...finally:无论错误是否发生都会执行finally中的代码。
'''
try:
    # 被检测的代码块（可能触发异常的代码）
    f = [
        'a', 'a', 'a', 'a', 'a', 'a', 'a'  # 列表 f 包含 7 个 'a' 元素
    ]
    g = (line.strip() for line in f)
    print(next(g))
    print(next(g))
    print(next(g))
    print(next(g))
    print(next(g))
    print(next(g))
    print(next(g))
    print(next(g))
except StopIteration:
    print("迭代器耗尽！")#因为这里的f是列表，而列表没有close()方法，这会导致如果异常真的发生时，代码会抛出AttributeError。